﻿using System;
using System.Windows.Forms;
using HighDiveEngine.Aggregates;
using HighDiveEngine.Model;
using HighDiveEngine.Resources;
using HighDiveJudge.Resources;

namespace HighDiveJudge.Interfaces
{
    public interface IJudgeAppForm
    {
        
        event DelegateVoidDiveDouble EventSendScore;
        event DelegateVoidStringStringInt EventLogin;
        event MethodInvoker EventLogout;

        void ShowView(FormViews view);
        void UpdateShownDives(Dive dive, DiveList history);
        void LoginRefused();
        void ConnectionFailed();
        Object Invoke(Delegate method);
        Object Invoke(Delegate method, params Object[] args);

        void ContestEnded();
    }
}
